package com.train.mgr.modules.biz.dto.response;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.train.mgr.modules.biz.dto.request.LessonUserExerciseReqDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
@ApiModel("课程主页-练习记录返回对象模型")
public class TraineeStudyExerciseRespDTO {
    private String courseId;
    private String lessonId;
    private String lessonName;
    @ApiModelProperty(name = "nickName", value = "姓名")
    private String nickName;
    @ApiModelProperty(name = "lessonOrder", value = "课时序号")
    private String lessonOrder;
    @ApiModelProperty(name = "exerciseId", value = "练习id")
    private Long exerciseId;
    @ApiModelProperty(name = "exerciseType", value = "练习类型")
    private Integer exerciseType;
    @ApiModelProperty(name = "exerciseTypeName", value = "练习类型名称")
    private String exerciseTypeName;
    @ApiModelProperty(name = "finishTime", value = "完成练习时间")
    private String finishTime;

    @ApiModelProperty(name = "useTime", value = "用时")
    private String useTime;

    @ApiModelProperty(name = "passingScore", value = "练习及格分")
    private BigDecimal passingScore;

    @ApiModelProperty(name = "completeness", value = "完整度")
    private String completeness;

    @ApiModelProperty(name = "fluency", value = "流畅度")
    private String fluency;

    @ApiModelProperty(name = "confidence", value = "自信度")
    private String confidence;

    @ApiModelProperty(name = "fillWordsStuttering", value = "填充词/卡顿")
    private String fillWordsStuttering;

    @ApiModelProperty(name = "speedVolume", value = "语速音量")
    private String speedVolume;

    @ApiModelProperty(name = "wpmAvgVoiced", value = "净语速")
    private double wpmAvgVoiced;

    @ApiModelProperty(name = "comprehensiveScore", value = "综合分")
    private BigDecimal comprehensiveScore;

    @ApiModelProperty(name = "avgScore", value = "历史平均分")
    private BigDecimal avgScore;

    @ApiModelProperty(name = "avgScore", value = "历史最高分")
    private BigDecimal maxScore;
    @JsonIgnore
    private String files;
    @ApiModelProperty(name = "exerciseFiles", value = "练习文件")
    private List<LessonUserExerciseReqDTO.FileDto> exerciseFiles;

    @ApiModelProperty(name = "exerciseNumber", value = "练习序号（第几次练习）")
    private Integer exerciseNumber;
    @ApiModelProperty(name = "exerciseList", value = "历史趋势")
    private List<TraineeExerciseDTO> exerciseList;

    @ApiModelProperty(name = "isGenerateReports", value = "是否已生成报告（0：否，1：生成中，2：已生成)")
    private Integer isGenerateReports;
    @ApiModelProperty(name = "audioText", value = "音频文本内容")
    private String audioText;

    @ApiModelProperty(name = "completenessMessage", value = "完整度描述信息")
    private String completenessMessage;
    @ApiModelProperty(name = "accuracyMessage", value = "准确度描述信息")
    private String accuracyMessage;
    @ApiModelProperty(name = "speedVolumeMessage", value = "通俗度描述信息")
    private String speedVolumeMessage;
    @ApiModelProperty(name = "fluencyMessage", value = "流畅度描述信息")
    private String fluencyMessage;

    @ApiModelProperty(name = "confidenceMessage", value = "自信度描述信息")
    private String confidenceMessage;

}
